package com.bangdream.michelia.contract;

import com.bangdream.michelia.entity.QuestAnswerBean;
import com.bangdream.michelia.entity.SignUpBean;
import com.bangdream.michelia.entity.exam.AnswerBean;
import com.bangdream.michelia.entity.exam.ExamBean;
import com.bangdream.michelia.entity.exam.ExamQuestBean;
import com.bangdream.michelia.entity.exam.ExamResultDetailsBean;
import com.bangdream.michelia.entity.exam.ExamResultItemBean;
import com.bangdream.michelia.entity.exam.SubjectBean;
import com.bangdream.michelia.entity.exam.SubjectInfoBean;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;

/**
 * @date on 2018/8/19 14:41
 * @email 909732184@qq.com
 * 考试-问卷
 */
public class ExamContract {
    public interface IExamView{
        //考试列表
        void setExamList(boolean isSuccess, int page, List<ExamBean> data, String stDescribe);
        //题目集合
        void setSubjectList(boolean isSuccess,  List<SubjectBean> data, String stDescribe);
        //单题信息
        void setSubjectDetails(boolean isSuccess, SubjectInfoBean data, String stDescribe);
        //初始化考试id
        void initExamId(boolean isSuccess, String examId, String stDescribe);
        //提交答题信息
        void actionSubmitExam(boolean isSuccess,boolean isFinish, String stDescribe);
        //提交答题信息
        void actionSubmitQuest(boolean isSuccess,boolean isFinish, String stDescribe);
        //试题结果列表
        void setExamResultList(boolean isSuccess, List<ExamResultItemBean> data, String stDescribe);
        //试题结果详情
        void setExamResultDetails(boolean isSuccess, ExamResultDetailsBean data, String stDescribe);
        //问卷列表详情
        void setExamQuestList(boolean isSuccess, List<ExamQuestBean> data, String stDescribe);
        //问卷列表
        void setExamQuList(boolean isSuccess, List<ExamBean> data, String stDescribe);
    }

    public interface ISignView{
        void setSignUpList(boolean isSuccess, int page,List<SignUpBean> beans);
    }

    public interface IMyExam{
        void setMyExamList(boolean isSuccess, int page,List<ExamBean> beans);
    }


    public interface IExamModel{
        Observable getExamList(Map<Object,Object> paramsMap,String type);
        Observable getExamQuList(String type);
        Observable getSubjectList(String examId);
        Observable getSubjectDetails(Map<Object,Object> paramsMap);
        Observable initExamId(Map<Object,Object> paramsMap);
        Observable actionSubmitExam(AnswerBean bean);
        Observable actionSubmitQuest(AnswerBean bean);
        Observable getExamResultList(String examId);
        Observable getExamResultDetails(String examId);
        Observable getExamQusetList(String examId);
        Observable getSignUpList(int pageNo,int pageSize);
        Observable getMyExam(Map<Object,Object> paramsMap);
    }
}
